package tarea2.managedbeans;

import entidades.Cita;
import entidades.Enfermedad;
import entidades.Paciente;
import entidades.Usuario;
import java.util.ArrayList;
import java.util.List;
import javax.enterprise.context.ApplicationScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;


@Named(value = "controlM")
@ApplicationScoped
public class ControlMedico {
    private String dni;  
    private String nombre;
    private String apellidos;
    private int seguridadSocial;
    private List<Paciente> pacientes = new ArrayList<Paciente>();
    
    private String nombreE;
    private String gravedad;
    private String descripcion;
    private List<Enfermedad> enf = new ArrayList<Enfermedad>();
   
    public ControlMedico() { 

    }
    
   public String anadirPaciente(){
        try{
           Integer.parseInt(dni.substring(0, 8));
            if(dni.equals("")||nombre.equals("")||apellidos.equals("")){
                FacesContext ctx = FacesContext.getCurrentInstance();
                ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Faltan datos", "Faltan datos"));
            }else if (!(dni.charAt(8)>='a')&&!(dni.charAt(8)<='z')||!(dni.charAt(8)>='A')||!(dni.charAt(8)<='Z')){            
                FacesContext ctx = FacesContext.getCurrentInstance();
                ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "DNI no válido", "DNI no válido"));      
            }else if (seguridadSocial<=0){            
                FacesContext ctx = FacesContext.getCurrentInstance();
                ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Seguridad Social no válido", "Seguridad Social no válido"));      
            }else{            
//                pacientes.add(new Paciente(dni,nombre,apellidos,seguridadSocial));
            }
       }catch(NumberFormatException | StringIndexOutOfBoundsException e){
            FacesContext ctx = FacesContext.getCurrentInstance();
            ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "DNI no válido", "DNI no válido"));
       } 
        return null;
    }
   
   public String eliminarPaciente(int i){
        pacientes.remove(i);
        return null;
    }
   
    public String anadirEnfermedad(){
        enf.add(new Enfermedad(nombreE,gravedad,descripcion));
        return null;
    }
     
    public String eliminarEnfermedad(int i){
        enf.remove(i);
        return null;
    }

    public String getDni() {
        return dni;
    }

    public void setDni(String dni) {
        this.dni = dni;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public int getSeguridadSocial() {
        return seguridadSocial;
    }

    public void setSeguridadSocial(int seguridadSocial) {
        this.seguridadSocial = seguridadSocial;
    }

    public List<Paciente> getPacientes() {
        return pacientes;
    }

    public void setPacientes(List<Paciente> pacientes) {
        this.pacientes = pacientes;
    }

    public String getNombreE() {
        return nombreE;
    }

    public void setNombreE(String nombreE) {
        this.nombreE = nombreE;
    }

    public String getGravedad() {
        return gravedad;
    }

    public void setGravedad(String gravedad) {
        this.gravedad = gravedad;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public List<Enfermedad> getEnf() {
        return enf;
    }

    public void setEnf(List<Enfermedad> enf) {
        this.enf = enf;
    }
   
}
   
